/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package gradius.Elementos.Naves;

import gradius.Elementos.Tipos.tipoTiro;
import gradius.Elementos.Tiros.Tiro;
import gradius.Elementos.Tiros.TiroFactory;
import gradius.InterfaceGrafica.TelaGrafica;
import java.awt.Image;
import java.util.ArrayList;
import java.util.Random;

/** Classe que define os atributos e métodos da nave Atiradora1
 *
 * @author Eduardo
 */
public class Atiradora1 extends NaveAtiradora
{

    /** Construtor da classe Atiradora1
     * @param tela - Painel de desenho do jogo
     * @param imagens - Vetor onde as imagens de um determinado elemento são armazenadas
     * @param coordX - Coordenada do eixo horizontal
     * @param coordY - Coordenada do eixo vertical
     * @param tamX - Largura em pixels do elemento no eixo horizontal
     * @param tamY - Largura em pixels do elemento no eixo vertical
     */
    public Atiradora1 (TelaGrafica tela, Image[] imagens, int coordX, int coordY, int tamX, int tamY)
    {
        super(tela,imagens, coordX, coordY, tamX, tamY);
        this.setVidaNave(1);
        this.setTipoTiro1(tipoTiro.QUADRADINHO);
        this.setIncrX(-8);
        this.setIncrY(0);
    }

    /** Método que faz a nave Atiradora1 atirar
     *
     * @param tela - Painel de desenho do jogo
     * @param tiros - ArrayList onde o novo tiro será inserido
     */
    @Override
    public void atira(TelaGrafica tela, ArrayList<Tiro> tiros)
    {
        Random rand = new Random();
        if (rand.nextInt(100)<2)
        {
            tiros.add(TiroFactory.getInstance(tela, this.getTipoTiro1(), this.getElementoCoordenada().getCoordX(), this.getElementoCoordenada().getCoordY()));
        }
    }

    /** Método que da movimento à nave Atiradora1 incrementando suas coordenadas
     *
     */
    @Override
    public void movimenta()
    {
        this.incrementaElementoCoordenada(this.getIncrX(), this.getIncrY());
    }
}
